當在網頁瀏覽器輸入網址之後,瀏覽器會向伺服器請求該網址的資源,並顯示網頁。發送請求取得伺服器資料的網頁瀏覽器,都可以稱為客戶端。
網頁是透過 HTTP 協議完成傳送資料的流程。
目前所使用的網路都是在 TCP / IP 協議的基礎上運作,而 HTTP 是屬於內部的一個子集。
什麼是協議:電腦與網路要互相連接,必須要在連接前確定一些規則才能達成,像是使用哪種語言、如何偵測連結、如何結束等等,而這些規則就稱為協議。
TCP / IP 就是跟網路連接有關的所有協議的統稱。
有人認為 TCP / IP 是在說 TCP 協議與 IP 協議,也有人認為 TCP / IP 是在 IP 協議的連結過程中,所使用到的協議統稱。
TCP / IP 分為四層:
兩台電腦在進行網路連接時,會通過分層的順序連接。發送端會從應用層逐步走到資料連結層,而接收端會從資料連結層向回走到應用層。
發送端在各層傳輸資料時,經過一層就會在該層增加一個 header 資料,接收端接受後每經過一層,就會消除一層,這樣分層的好處是當協議需要改變時,只要將有變動的那層替換就可以了。
有些人會把 IP 跟 IP 位址搞錯。
IP 協議的作用是把封包傳送給對方,這需要很多條件,其中重要的兩個條件是 IP 位置和 MAC 。
IP 位置是指節點被分配到的位置,而 MAC 是指網卡上獨特的序號,IP 位置可以跟 MAC 配對,IP 是不固定的,而 MAC 是網卡獨特的序號,是不會改變的。
IP 之間的連接是依賴 MAC 。
網路上兩台電腦的連接通常是藉由多台電腦和網路設備轉接,才連接到對方,而在連接時會利用下一站轉接設備的 MAC 來找到這個轉接的目標,這時候會使用 ARP 協議,ARP 協議是一種解析位置的協議,他會根據連接那端的 IP 位置來反查對應的 MAC。
在到達最後要連結到的目標之前,這中間過程的轉運站,通常叫做路由。
為了方便管理,TCP 的功能是把資料流分割成適當長度的報文段,並且確認是否有把資料成功傳給對方。
TCP 協議採用了三向交握(three-way handshaking)策略,意思就是三次訊息的交換,當中會使用 TCP 的註記標誌——SYN、ACK。發送端會先送一個帶有 SYN 標記的封包給對方,接收端收到之後會發送一個帶有 SYN、ACK 標記的封包回去,最後發送端再送一個帶有 ACK 標記的封包,這樣表示訊息傳送完成。
DNS 跟 HTTP 一樣在應用層,提供了域名到 IP 之間的解析服務。電腦既然可以有 IP 位置,也可以有主機名稱和域名。例如:www.codingwife.com。
一般人在訪問別人的主機通常都是用域名,而不是 IP 位置,因為 IP 比較不符合一般人能記憶的模式。DNS 協議提供通過域名來查找 IP 位置,或是反向從 IP 位置來找域名。
請求的處理結果也是透過 TCP / IP 通訊協定回傳。
URI(Uniform Resource Identifier)統一資源標識符。
以https://codingwife.com/2018/10/16/2018ithome/day01/
為例:
https://
:協議名稱,Identifier 來表示定位標示符。codingwife.com
:域名。/2018/10/16/2018ithome/day01/
:路徑。
資料來源:《圖解 HTTP》 上野宣 人民郵電出版社
筆記純屬推廣及分享,如有侵權,請告知。
Please advise to remove immediately if any infringement caused.